package com.nit.lab.service.ship;

import com.nit.lab.dto.ship.ShipDTO;
import com.nit.lab.dto.utils.OpResultDTO;
import com.nit.lab.dto.utils.TableReqDTO;
import com.nit.lab.dto.utils.TableRspDTO;

public interface ShipService {

    /**
     * @描述 获取未出港的船
     * @创建人 fyx
     * @创建时间 2021/2/20
     */
    OpResultDTO queryShip() throws Exception;

    /**
     * @描述 获取数据表格
     * @创建人 zmh
     * @创建时间 2021/2/2
     */
    TableRspDTO list4Table(TableReqDTO tableReqDTO) throws Exception;

    /**
     * @描述 获取离港历史数据
     * @创建人 zmh
     * @创建时间 2021/2/2
     */
    TableRspDTO list4LeaveTable(TableReqDTO tableReqDTO) throws Exception;

    /**
     * @Description: 新增记录
     * @Author: zmh
     * @Date: 2019/01/31 11:02
     */
    Integer add(ShipDTO shipDTO) throws Exception;

    /**
     * @Description: 更新记录
     * @Author: zmh
     * @Date: 2019/01/31 11:02
     */
    Integer update(ShipDTO shipDTO) throws Exception;

    /**
     * @Description: 删除记录
     * @Author: zmh
     * @Date: 2021/2/2
     */
    Integer remove(String shipIds) throws Exception;

    /**
     * @Description: g
     * @Author: zmh
     * @Date: 2021/2/2
     */
    Integer leavePort(ShipDTO shipDTO) throws Exception;

    /**
     * @Description: 根据ShipId获取船舶信息
     * @Author: zmh
     * @Date: 2021/2/2
     */
    ShipDTO getByShipId(Long shipId) throws Exception;

    /**
     * @Description: 根据ShipId获取船舶信息
     * @Author: zmh
     * @Date: 2021/2/2
     */
    ShipDTO getByMssiNumber(String mmsiNumber) throws Exception;



}
